var idchk=0;var nickchk=0;

// 아이디 중복 체크
function check_id(fdata,maxLength){
	if (!fdata.id.value) {
		alert('아이디를 입력해주세요');fdata.id.focus();idchk=0;return;
	} else if (maxLength < txtRsLength(fdata.id.value)) {
		alert(maxLength + 'Byte 까지만 입력할 수 있습니다.\n(한글은 2Byte 입니다.)');
		fdata.id.value = txtRsCut(fdata.id.value,maxLength);
		return;
	} else if (chkValue(fdata.id.value)){
	/////////////////////////////
		$(document).ready(function() {
			$.ajax('ChkJoin.do?set=id&value='+fdata.id.value, {
				cache:false,
				success : function(data) {
										
					if(data == 1){
						alert('존재하는 아이디입니다.');idchk=0;return;
					} else if (data == 2 ) {
						alert('아이디를 입력하고 실행해 주세요.');idchk=0;return;
					} else {
						alert('사용 가능한 아이디입니다.');idchk=1;
					}// end idckk
				}
			});// end jqury
		});
	/////////////////////////////
	}// end else if
}

// 닉네임 중복 체크
function check_nick(fdata,maxLength){
	if (!fdata.nick.value) {
		alert('닉네임을 입력해주세요');fdata.nick.focus();nickchk=0;return;
	} else if (maxLength < txtRsLength(fdata.nick.value)) {
		alert(maxLength + 'Byte 까지만 입력할 수 있습니다.\n(한글은 2Byte 입니다.)');
		fdata.nick.value = txtRsCut(fdata.nick.value,maxLength);
		return;
	} else {
	/////////////////////////////
		$(document).ready(function() {
			$.ajax('ChkJoin.do?set=nick&value='+fdata.nick.value, {
				cache:false,
				success : function(data) {
					
					if(data == 1){
						alert('존재하는 닉네임입니다.');nickchk=0;return;
					} else if (data == 2 ) {
						alert('닉네임을 입력하고 실행해 주세요.');nickchk=0;return;
					} else {
						alert('사용 가능한 닉네임입니다.');nickchk=1;
					}
				}
			});
		});
	/////////////////////////////
	}
}

// 초기화 함수
function idchknull(){idchk=0;}
function nickchknull(){nickchk=0;}

// 첫글자 A~Z, a~z + 나머지는 A~Z, a~z, 1~0 체크
function chkValue(text){ 
	if (text == undefined || text == null || text.trim() == "") {alert('정확히 입력한 후 체크하세요');
	} else {
		if (typeof(text) != "string"){ alert('문자열만 체크할 수 있습니다.');
		} else {
			var _chk = true; _sp = /\s+/;var msg="";
			//첫글자는 여기서 일단 체크
				var ch = text[0].charCodeAt();
				var pt = (ch >= 0x61 && ch <= 0x7A) || (ch >= 0x41 && ch <= 0x5A)
				_chk = _chk && pt
				if(!_chk) {msg = "첫 글자는 영어 대~소문자만 가능합니다.\n";}
				
			//두번째부터는 숫자도 들어간다.
			for(var i=1; i<text.length;i++){
				ch = text[i].charCodeAt();
				pt = ((ch >= 0x61 && ch <= 0x7A) || (ch >= 0x41 && ch <= 0x5A) || (ch >= 0x30 && ch <= 0x39))
				//alert(text[i] + " = " + pt);
				_chk = _chk && pt
			}//end for//alert("최종결과 " + _chk);
			if(!_chk) {
				msg = msg + "영어 대,소문자와 숫자의 조합으로 만들어주세요.";
				alert(msg);
			}
			return _chk;
		}//end else - if
	}//end if
}


// 생년월일 체크 전용. 0~9 체크
function chkDay(text){
	var _chk = true; _sp = /\s+/;var msg="";

	for(var i=1; i<text.length;i++){
		var ch = text[i].charCodeAt();
		var pt = ((ch >= 0x30 && ch <= 0x39))
		_chk = _chk && pt
	}
	if(!_chk) {
		msg = msg + "숫자로만 구성해 주세요";
		alert(msg);
	}
	return _chk;
}

// 글자 길이 반환 : 한글 및 특수문자 UTF-8 은 2글자로
function txtRsLength(input){
	var byteLength = 0;
	
	for (var inx = 0; inx < input.length; inx++) {
        var oneChar = escape(input.charAt(inx));
        if (oneChar.length == 1) {
            byteLength++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length / 3;
        }
    }//alert(byteLength);
	return byteLength;
}

// 입력제한. 아스키코드를 이용하여 처리한다. (escape)
// 문자열과 잘라야 하는 길이를 받아온다. 그 값으로 글자길이 반환을 통해 재정리.
function txtRsCut(txt,cut){
	var byteLength = 0;var rs = "";
	
	for (var inx = 0; inx < txt.length; inx++) {
        var oneChar = escape(txt.charAt(inx));
        if (oneChar.length == 1) {
            byteLength++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length / 3;
        }
        if (byteLength <= cut)
        {rs = rs + unescape(oneChar);}
    }//alert(rs);
    return rs;
}



function submitCheck(fdata){
	var len_Base = 12;
	var len_Question = 100;
	var len_email = 40;
	
	if(idchk == 0)
		{alert('아이디 체크를 진행해 주세요.');return;}
	if(nickchk == 0)
		{alert('닉네임 체크를 진행해 주세요.');return;}
	
	else if (!fdata.pass.value){alert('비밀번호가 비어있습니다.');fdata.pass.focus();return;}
	else if (!chkValue(fdata.pass.value)) {fdata.pass.focus();return;}
	
	else if (!fdata.pchk.value){alert('비밀번호 확인란이 비어있습니다.');fdata.pchk.focus();return;}
	else if (fdata.pass.value != fdata.pchk.value){
		alert('비밀번호와 비밀번호 체크가 일치하지 않습니다.');fdata.pchk.focus();return}
	
	else if (!fdata.question.value){
		alert('비밀번호 체크용 질문란이 비어있습니다.');fdata.question.focus();return;}
	else if (len_Question < txtRsLength(fdata.question.value)){
		alert(len_Question + 'Byte 까지만 입력할 수 있습니다.\n(한글은 2Byte 입니다.)');
		fdata.question.value = txtRsCut(fdata.question.value,len_Question);
		fdata.question.focus();return;
		}
	if (!fdata.answer.value){
		alert('비밀번호 체크용 답변란이 비어있습니다.');fdata.answer.focus();return;}
	else if (len_Base < txtRsLength(fdata.answer.value)){
		alert(len_Base + 'Byte 까지만 입력할 수 있습니다.\n(한글은 2Byte 입니다.)');
		fdata.answer.value = txtRsCut(fdata.answer.value,len_Base);
		fdata.answer.focus();return;}
	
	else if (!fdata.name.value){
		alert('이름이 비어있습니다.');fdata.name.focus();return;}
	else if (len_Base < txtRsLength(fdata.name.value)){
		alert(len_Base + 'Byte 까지만 입력할 수 있습니다.\n(한글은 2Byte 입니다.)');
		fdata.name.value = txtRsCut(fdata.name.value,len_Base);
		fdata.name.focus();return;}
	
	if (!fdata.b1.value){
		alert('태어난 년도가 비어있습니다.');fdata.b1.focus();return;}
	else if (!chkDay(fdata.b1.value)) {
		fdata.b1.focus();return;}
	else if (fdata.b1.value.trim() <= 1900){
		alert('1900 년 이전 출생은 조금 심하지 않으신가요?');
		fdata.b1.value="";fdata.b1.focus();return;
		}
	else if (fdata.b1.value >= 2200){
		alert('2200 년 이후 출생은 조금 심하지 않으신가요?');
		fdata.b1.value="";fdata.b1.focus();return;
		}
	else if (!fdata.b2.value){
		alert('태어난 달이 비어있습니다.');
		fdata.b2.focus();return;}
	else if (!chkDay(fdata.b2.value)) {
		fdata.b2.focus();return;}
	else if (fdata.b2.value.trim() == 0 || fdata.b2.value.trim() > 12 ){
		alert('1~12 중에서 입력해주세요.');
		fdata.b2.value="";fdata.b2.focus();return;
		}	
	else if (fdata.b2.value.trim().length == 1){
		fdata.b2.value = "0" + fdata.b2.value
		}
	
	else if (!fdata.b3.value){	
		alert('태어난 날이 비어있습니다.');fdata.b3.focus();return;}
	else if (!chkDay(fdata.b3.value)) {fdata.b3.focus();return;}
	else if (fdata.b3.value.trim() == 0 || fdata.b3.value.trim() > 31 ){
		alert('1~31 중에서 입력해주세요.');
		fdata.b3.value="";fdata.b3.focus();return;
		}	
	else if (fdata.b3.value.length == 1){
		fdata.b3.value = "0" + fdata.b3.value
		}
	
	else if (!fdata.email.value){
		alert('메일이 비어있습니다.');fdata.email.focus();return;}
	else if (len_email < txtRsLength(fdata.email.value)){
		alert(len_email + 'Byte 까지만 입력할 수 있습니다.\n(한글은 2Byte 입니다.)');
		fdata.email.value = txtRsCut(fdata.email.value,len_email);
		fdata.email.focus();return;}
	
	fdata.birthday.value = fdata.b1.value+fdata.b2.value+fdata.b3.value;
	
	fdata.submit();
}